<?php
/**
 * 网站设置逻辑层
 * @author maniac
 */
namespace app\common\logic;

use app\common\model\Options AS OptionsModel;
use app\facade\UserLogs;

class Site extends Options
{    
    /**
     * 编辑
     * @param  array $data 请求的信息
     */
    public function save($data)
    {
        $db = $data['db'];
        if (!trim($db['site_name'])) {
            exception('请输入网站名称');
        }
        
        if (!trim($db['site_url'])) {
            exception('请输入网站地址');
        } elseif (!preg_match('/\S*\/$/', $db['site_url'])) {
            exception('网站地址必须以 / 结尾');
        }
        
        if (trim($db['site_admin_email']) && !preg_match('/^([0-9A-Za-z\\-_\\.]+)@([0-9a-z]+\\.[a-z]{2,3}(\\.[a-z]{2})?)$/i', $db['site_admin_email'])) {
            exception('请输入正确的网站管理员邮箱');
        }
        $update = [
            'id'           => $data['id'],
            'option_name'  => $data['option_name'],
            'option_value' => serialize($db),
        ];
        OptionsModel::update($update);
        UserLogs::insertLog(['title' => '修改网站设置', 'content' => "id={$data['id']}\r\noption_name={$data['option_name']}"]);
    }
}
